package com.example.observer;

import java.rmi.RemoteException;

/**
 * 给观察者发出通知的可观察对象(主题)
 */
public interface Observable {
    /**
     * 通知所有的观察者
     * @throws RemoteException
     */
    void notifyObservers() throws RemoteException;

    /**
     * 添加观察者
     * @param observer
     * @throws RemoteException
     */
    void attach(Observer observer) throws RemoteException;


    /**
     * 移除观察者
     * @param observer
     * @throws RemoteException
     */
    void detach(Observer observer) throws RemoteException;
}
